﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using static System.Net.Mime.MediaTypeNames;

namespace CSharpNewFeaturesUse
{
    public class Closure
    {
        /// <summary>
        /// 闭包
        /// 在函数中定义的函数(lambda)
        /// 使用了外部变量，这个表达式就是闭包
        /// 而外部变量改变的同时，闭包内引用的变量也随之改变
        /// </summary>
        public void ShowUse()
        {
            string layer = "step1";
            void test1()
            {
                Console.WriteLine(layer);
            }
            test1();
            layer = "step2";
            test1();
        }
    }
}